iT邦幫忙

2024 iThome 鐵人賽

DAY 13
1
佛心分享-SideProject30

收納規劃APP系列 第 13

Day13:加一個Popover控制

  • 分享至 

  • xImage
  •  

因為還要記錄家具裡面裝了什麼東西,所以調整了一下 UX
先出現一個提示框可以選要調整家具還是要調整收納用品
一樣是雙擊出現,如下方圖片
https://ithelp.ithome.com.tw/upload/images/20240924/20162350BjqJkfPCRA.png

之後就可以點擊家具按鈕,出現昨天做的彈窗
https://ithelp.ithome.com.tw/upload/images/20240924/20162350wUNlVBCnvu.png

做法是先在 html 加一個模板

<div #popover class="popover" [style.display]="isPopoverVisible ? 'block' : 'none'" [style.left.px]="popoverX"
    [style.top.px]="popoverY">
    <div class="text-end" style="position: relative;top: -5px; cursor: pointer;" (click)="onCloseClick()">x</div>
    <button nz-button nzType="primary"(click)="onButtonClick(EditType.furniture)">家具</button>
    <button nz-button (click)="onButtonClick(EditType.storage)">收納</button>
</div>

綁定的方法不變

  // 新增的雙擊處理方法
  private handleDoubleClick(item: Furniture, event: MouseEvent): void {
    this.isPopoverVisible = true;
    this.popoverX = event.clientX;
    this.popoverY = event.clientY;
    this.furnitureSetting = item;
  }

  onCloseClick() {
    this.isPopoverVisible = false;
  }

  onButtonClick(editType: EditType) {
    switch (editType) {
      case EditType.furniture:
        this.isPopoverVisible = false;
        this.showPopup(this.furnitureSetting);
        break;
      case EditType.storage:
        this.isPopoverVisible = false;
        // 顯示儲物空間編輯彈窗
        // this.showStoragePopup(this.storageSetting);
        break;

      default:
        break;
    }
  }

今日進度 Day13


上一篇
Day12:家具設定視窗
下一篇
Day14:拆出popover的元件
系列文
收納規劃APP32
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言